Rollup of 20 pull requests#154727
Conversation
PR rust-lang#154634 recently renamed many type parameters that impl `HashStableContext` as `Hcx`. It missed a few that are named `HirCtx`. This commit renames them.
They're in multiple sections with no rhyme or reason.
`derive(HashStable_Generic)` generates impls like this:
```
impl<__CTX> HashStable<__CTX> for ExpnKind
where
__CTX: crate::HashStableContext
{
fn hash_stable(&self, hcx : &mut __CTX, __hasher: &mut StableHasher) {
...
}
}
```
This is used for crates that are upstream of `rustc_middle`.
The `crate::HashStableContext` bound means every crate that uses
`derive(HashStable_Generic)` must provide (or import) a trait
`HashStableContext` which `rustc_middle` then impls. In `rustc_span`
this trait is sensible, with three methods. In other crates, this trait
is empty, and there is the following trait hierarchy:
```
rustc_session::HashStableContext
| |
| rustc_hir::HashStableContext
| / \
rustc_ast::HashStableContext rustc_abi::HashStableContext
|
rustc_span::HashStableContext
```
All very strange and unnecessary. This commit changes
`derive(HashStable_Generic)` to use `rustc_span::HashStableContext`
instead of `crate::HashStableContext`. This eliminates the need for all
the empty `HashStableContext` traits and impls. Much better.
This annotates the `Arc` type with the diagnostic attribute `#[diagnostic::on_move]`. Now when a moved `Arc` is borrowed, a suggestion to clone it is made, with a label explaining why.
…_attrs` function
…y_macro_source` function
…_macro` function
|
@bors r+ rollup=never p=5 |
This comment has been minimized.
This comment has been minimized.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing e6b64a2 (parent) -> 55e86c9 (this PR) Test differencesShow 556 test diffsStage 1
Stage 2
Additionally, 480 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 55e86c996809902e8bbad512cfb4d2c18be446d9 --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
📌 Perf builds for each rolled up PR:
previous master: e6b64a2f4c In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
|
Finished benchmarking commit (55e86c9): comparison URL. Overall result: ❌✅ regressions and improvements - please read the text belowOur benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 1.1%, secondary 3.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 487.024s -> 486.952s (-0.01%) |
|
@rustbot label: +perf-regression-triaged |
Successful merges:
layout_ofcycles fatal errors #153960 (Makelayout_ofcycles fatal errors)StableHashContextimpls #154666 (RemoveStableHashContextimpls)Arc#154669 (Introduce #[diagnostic::on_move] onArc)-Znext-solverRemove the forced ambiguity hack from search graph" #154712 (Revert "-Znext-solverRemove the forced ambiguity hack from search graph")FindParamInClausehandle edge-cases #153614 (FindParamInClausehandle edge-cases)deriveat the crate root:core::deriveandstd::derive#154442 (Exportderiveat the crate root:core::deriveandstd::derive)probe_ty_vartotry_resolve_ty_var#154578 (Renameprobe_ty_vartotry_resolve_ty_var)DocContextwithTyCtxtwherever possible #154680 ([rustdoc] ReplaceDocContextwithTyCtxtwherever possible)Tytype alias inrustc_type_ir#154709 (RevertTytype alias inrustc_type_ir)r? @ghost
Create a similar rollup